package com.yuzhitong.shapi.presenter;

import com.yuzhitong.shapi.BuildConfig;
import a.a.a.MyApplication;
import com.yuzhitong.shapi.base.BasePresenter;
import com.yuzhitong.shapi.base.Contents;
import com.yuzhitong.shapi.base.net.BaseListBean;
import com.yuzhitong.shapi.base.net.BaseObjectBean;
import com.yuzhitong.shapi.bean.AdStatusBean;
import com.yuzhitong.shapi.bean.DomainBean;
import com.yuzhitong.shapi.contract.StartContract;
import com.yuzhitong.shapi.model.MainModel;
import com.yuzhitong.shapi.net.MyObserver;
import com.yuzhitong.shapi.net.RxScheduler;
import com.yuzhitong.shapi.util.StringUtil;

import java.util.Map;

import io.reactivex.rxjava3.annotations.NonNull;

/**
 * @ClassName: TestPresenter
 * @Author: 70488
 * @CreateDate: 2020/07/18 15:05
 * @UpdateRemark: 更新说明：
 * @Description: 启动页
 */
public class StartPresenter extends BasePresenter<StartContract.View> implements StartContract.Presenter {
    private StartContract.Model model;

    public StartPresenter() {
        model = new MainModel();
    }

    @Override
    public void getAdState() {
        MyApplication.aCache.put(Contents.CACHE_KEY_AD_STATUS, "true");
        MyApplication.aCache.put(Contents.CACHE_KEY_AD_CONTENT_STATUS, "true");
        MyApplication.aCache.put(Contents.CACHE_KEY_HOME_CLICK_TIMEOUT, String.valueOf(30));
        MyApplication.aCache.put(Contents.CACHE_KEY_HOME_CLICK_NUMBER, String.valueOf(30));
        MyApplication.aCache.put(Contents.CACHE_KEY_SEARCH_SHOW, "true");
        MyApplication.aCache.put(Contents.CACHE_KEY_MOVIE_SHOW, "true");
        mView.initSuccess();

        Map<String, Object> par = getPublicPar();

//        model.getAdState(par)
//                .compose(RxScheduler.Obs_io_main())
//                .to(mView.bindAutoDispose())
//                .subscribe(new MyObserver<BaseListBean<AdStatusBean>>(mView) {
//
//                    @Override
//                    public void onComplete() {
//                    }
//
//                    @Override
//                    public void success(@NonNull BaseListBean<AdStatusBean> baseBean) {
//                        baseBean.handleData(AdStatusBean.class);
//                        if (baseBean.getData() != null) {
//                            for (AdStatusBean datum : baseBean.getData()) {
//                                switch (datum.getId()) {
//                                    case "24":
//                                        // 统一开关
//                                        if (datum.getNoState() == 10) {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_AD_STATUS, "true");
//                                        } else {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_AD_STATUS, "false");
//                                        }
//                                        break;
//                                    case "25":
//                                        // 内容开关
//                                        if (datum.getNoState() == 10) {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_AD_CONTENT_STATUS, "true");
//                                        } else {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_AD_CONTENT_STATUS, "false");
//                                        }
//                                        break;
//                                    case "26":
//                                        // 首页和js开关
//                                        if (datum.getNoState() == 10) {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_HOME_CLICK_TIMEOUT, String.valueOf(datum.getAdTime()));
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_HOME_CLICK_NUMBER, String.valueOf(datum.getAdNumber()));
//                                        } else {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_HOME_CLICK_TIMEOUT, String.valueOf(-1));
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_HOME_CLICK_NUMBER, String.valueOf(-1));
//                                        }
//                                        break;
//                                    case "27":
//                                        // 搜索框开关 CACHE_KEY_SEARCH_SHOW
//                                        if (datum.getNoState() != 10) {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_SEARCH_SHOW, "false");
//                                        } else {
//                                            if (BuildConfig.CHANNEL_VALUE != 1) {
//                                                MyApplication.aCache.put(Contents.CACHE_KEY_SEARCH_SHOW, "true");
//                                            } else if (datum.getAppVersion() < BuildConfig.VERSION_CODE) {
//                                                MyApplication.aCache.put(Contents.CACHE_KEY_SEARCH_SHOW, "true");
//                                            } else {
//                                                MyApplication.aCache.put(Contents.CACHE_KEY_SEARCH_SHOW, "false");
//                                            }
//                                        }
//                                        break;
//                                    case "28":
//                                        // 影视开关 CACHE_KEY_MOVIE_SHOW
//                                        if (datum.getNoState() != 10) {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_MOVIE_SHOW, "false");
//                                        } else {
//                                            MyApplication.aCache.put(Contents.CACHE_KEY_MOVIE_SHOW, "true");
//                                        }
//                                        break;
//                                }
//
//                            }
//                            mView.initSuccess();
//                        }
//                    }
//                });
    }

    @Override
    public void getUrl() {
        mView.showLoading();

        Map<String, Object> par = getPublicPar();

        model.getUrl(par)
                .compose(RxScheduler.Obs_io_main())
                .to(mView.bindAutoDispose())
                .subscribe(new MyObserver<BaseObjectBean<DomainBean>>(mView) {
                    @Override
                    public void success(BaseObjectBean<DomainBean> baseBean) {
                        baseBean.handleData(DomainBean.class);
                        if (baseBean.getData() == null || StringUtil.isEmpty(baseBean.getData().getDomainName())) {
                            // 获取失败
                            return;
                        }
                        Contents.BASE_URL = baseBean.getData().getDomainName();
                    }

                    @Override
                    public void complete(BaseObjectBean<DomainBean> baseBean) {
                        super.complete(baseBean);
                        mView.result();
                    }

                    @Override
                    public void error(Throwable e) {
                        super.error(e);
                        mView.result();
                    }
                });

    }



}
